// Функция для разделения входной строки на подстроки.
#include "infile.h"

std::vector<std::string> split(const std::string &str)
{
  std::vector<std::string> ret;
  typedef std::string::size_type string_size;
  string_size i = 0;

  while (i != str.size()) {
    // пропускаем ведущий символ ";"
    while (i != str.size() && str[i] == ';')
      ++i;

    // находим конец следующего слова
    string_size j = i;
    // считаем, сколько символов до следующего ';'
    while (j != str.size() && str[j] != ';')
      ++j;

    // если есть символы
    if (i != j) {
      // копируем j-i символов из объекта str, начиная с
      // индекса i
      ret.push_back(str.substr(i, j-i));
      i = j;
    }
  }

  return ret;
}
  
